GCP Google Cloud Memorystore ~実際に動かすまでのみちのり~
Memorystoreを動かすために必要な手順
何も考えずに動かしてみると疎通しない
同一リージョンしか接続できない。
- 東京リージョンで作成したGAEなどからは接続できません。正式版のリリースを待ちましょう。
今回は、memorystoreに併せて GKE をasia-east1
リージョンに作成してます。
構築手順では、IPエイリアスを有効にしない
- ドキュメントには有効にしろっと記載があります(罠)
指定すると、podからredisへの疎通はできましたが、ingressがurlからの疎通ができなくなりました。
わざわざエイリアスを有効にするために、クラスターを作り直したんですが、無駄でした・・・
っというわけで、ここはデフォルトの無効のままで進めます。
IPエイリアスが無効の場合の手順
- 下記が必要らしいので、下記をやります(理由は理解してない)
git clone https://github.com/bowei/k8s-custom-iptables.git cd k8s-custom-iptables/ # Memorystoreのインスンタンス情報確認 gcloud beta redis instances describe forte-dev --region=asia-east1 # 上記のreservedIpRangeを下記コマンドで指定する 192~は下記のままでいい(っぽい) TARGETS="10.0.0.0/29 192.168.0.0/16" ./install.sh # 上記のhost(今回は10.0.0.3)を指定して、configmapを作成 kubectl create configmap redishost --from-literal=REDISHOST=10.0.0.3
deploy yamlのenvに下記を追記
env: - name: REDISHOST valueFrom: configMapKeyRef: name: redishost key: REDISHOST
以上で、ingressの疎通もできて、podからmemorystoreへ接続する手順でした。
たったこれだけですが、実際はすごく時間がかかってしまいました・・・・
正式版がでるまでは、見送ったほうが良いかもしれませんね